package com.eshop.modules.order.service.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.io.Serializable;

public class StoreOrderStatusDto implements Serializable
{
    private Integer id;
    private Integer oid;
    private String changeType;
    private String changeMessage;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date changeTime;
    
    public Integer getId() {
        return this.id;
    }
    
    public Integer getOid() {
        return this.oid;
    }
    
    public String getChangeType() {
        return this.changeType;
    }
    
    public String getChangeMessage() {
        return this.changeMessage;
    }
    
    public Date getChangeTime() {
        return this.changeTime;
    }
    
    public void setId(final Integer id) {
        this.id = id;
    }
    
    public void setOid(final Integer oid) {
        this.oid = oid;
    }
    
    public void setChangeType(final String changeType) {
        this.changeType = changeType;
    }
    
    public void setChangeMessage(final String changeMessage) {
        this.changeMessage = changeMessage;
    }
    
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setChangeTime(final Date changeTime) {
        this.changeTime = changeTime;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof StoreOrderStatusDto)) {
            return false;
        }
        final StoreOrderStatusDto other = (StoreOrderStatusDto)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0065: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0065;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$oid = this.getOid();
        final Object other$oid = other.getOid();
        Label_0102: {
            if (this$oid == null) {
                if (other$oid == null) {
                    break Label_0102;
                }
            }
            else if (this$oid.equals(other$oid)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$changeType = this.getChangeType();
        final Object other$changeType = other.getChangeType();
        Label_0139: {
            if (this$changeType == null) {
                if (other$changeType == null) {
                    break Label_0139;
                }
            }
            else if (this$changeType.equals(other$changeType)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$changeMessage = this.getChangeMessage();
        final Object other$changeMessage = other.getChangeMessage();
        Label_0176: {
            if (this$changeMessage == null) {
                if (other$changeMessage == null) {
                    break Label_0176;
                }
            }
            else if (this$changeMessage.equals(other$changeMessage)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$changeTime = this.getChangeTime();
        final Object other$changeTime = other.getChangeTime();
        if (this$changeTime == null) {
            if (other$changeTime == null) {
                return true;
            }
        }
        else if (this$changeTime.equals(other$changeTime)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof StoreOrderStatusDto;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $oid = this.getOid();
        result = result * 59 + (($oid == null) ? 43 : $oid.hashCode());
        final Object $changeType = this.getChangeType();
        result = result * 59 + (($changeType == null) ? 43 : $changeType.hashCode());
        final Object $changeMessage = this.getChangeMessage();
        result = result * 59 + (($changeMessage == null) ? 43 : $changeMessage.hashCode());
        final Object $changeTime = this.getChangeTime();
        result = result * 59 + (($changeTime == null) ? 43 : $changeTime.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "StoreOrderStatusDto(id=" + this.getId() + ", oid=" + this.getOid() + ", changeType=" + this.getChangeType() + ", changeMessage=" + this.getChangeMessage() + ", changeTime=" + this.getChangeTime() + ")";
    }
}
